home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / diskutil / gemar220.lzh / GEMAR220 / XFS / DOCS / README.ENG < prev   
Encoding:
Text File  |  1994-03-05  |  9.5 KB  |  290 lines

  1.  
  2. GEMAR-XFS-Driver  -  Restore via Desktop             (c) Steffen Engel '93-'94
  3.  
  4. Version 1.10 of 05.03.94
  5.  
  6. MiNT can be seen as a standard for everone, since MultiTOS is released.
  7. Because of this it is very interesting to use a driver for installing a 
  8. Streamer-Tape as a logical drive.
  9.  
  10. For this there is GEMAR.XFS
  11.  
  12. On the first hand side, a tape with a backup of GEMAR can be installed as a 
  13. drive for restoring files, on the other hand side there is a device driver in 
  14. GEMAR.XFS wich allows to access the tape as sequential device by any program 
  15. (e.g. TAR or CPIO).
  16.  
  17.  
  18. Volume of Delivery:
  19.  
  20.   The driver can be registered by registered GEMAR-Users only and the fee is
  21.   $ 25
  22.  
  23.   Registration is done with the program REG_XFS.PRG (only on registration disks)
  24.  
  25.  
  26. ASSUMPTIONS
  27.  
  28.   You need a streamer, of course and MiNT or MultiTOS.
  29.   For use of the XFS-Part of GEMAR.XFS the streamer MUST be able to space 
  30.   backwards. Nowadays all streamers are able to space backwards, but some older 
  31.   drives sometimes do not have this capability (e.g. Tandberg TDC 3620 with 
  32.   Firmware 3.0)
  33.  
  34.  
  35. INSTALLATION
  36.  
  37.   Copy GEMAR.XFS to your MINT/MULTITOS-Folder (C:\MINT\ OR C:\MULTITIOS)
  38.  
  39.   Copy the file GEMARXFS.PAR in one of the folders C:\MINT\, C:\MULTITOS\, 
  40.   C:\SYS\ or C:\ as you want.
  41.  
  42.   Adjust the file GEMARXFS.PAR to your requirements (see 'PARAMERTERS').
  43.  
  44.   Copy TAPE.TTP to a folder, where it can be found by yout shell.
  45.  
  46.   Copy GEMARCNF.CPX into your CPX-Folder.
  47.  
  48.   On the next boot with MiNT/MultiTOS the driver will be installed.
  49.  
  50.  
  51. USE OF XFS
  52.  
  53.   The installing of a GEMAR-Backup as a logical drive can be initated with 
  54.   TAPE.TTP or the CPX.
  55.   For use of TAPE.TTP please refer to the manual-page of TAPE
  56.  
  57.   A Backup of GEMAR will be installed by selecting the button 'XFS laden' (sorry, 
  58.   an english Version of the CPX is not available yet). After reading the index 
  59.   from tape the files can be accessed in the drive given in the parameterfile.
  60.  
  61.   From this drive you can copy files, start programs and everything else you can 
  62.   do with a hard drive partition.
  63.  
  64.   It's not possible to write files to this drive.
  65.  
  66.   ***************************** ATTENTION!! ********************************** 
  67.  
  68.       Never remove the tape without unloading the tape with the CPX or TAPE.TTP 
  69.       before.
  70.  
  71.  
  72. USING THE DEVICE
  73.  
  74.   Load the tape with TAPE.TTP or with the CPX with the button 'DEV laden'.
  75.   After this EVERY program can access the tape as 'u:\dev\mt'
  76.  
  77.   Please pay attention to the restriction, that it is not possible to write and 
  78.   read data in mixed order. This is not possible due to restrictions of 
  79.   SCSI-Streamers.
  80.  
  81.   You either write from start of tape (erasing all data on the tape) or you have 
  82.   to wind to end of tape before writing to append data to the tape.
  83.  
  84.   By this way it is possible to exchange data with almost every operating system 
  85.   (OS/9, Unix, Minix, Linux...) by using TAR or CPIO for reading and writing the 
  86.   tapes.
  87.  
  88.   Examples
  89.  
  90.     tar -c u:\dev\mt c:\
  91.     save all files of drive C: to the tape
  92.  
  93.     tar -t u:\dev\mt
  94.     show contents of the tape
  95.  
  96.   You cann use CPIO, too or you can save a file from an editor as u:\dev\mt to 
  97.   write it to the tape.
  98.  
  99.   ***************************** ATTENTION!! ********************************** 
  100.  
  101.       Never remove the tape without unloading the tape with the CPX or TAPE.TTP 
  102.       before.
  103.  
  104.  
  105. PARAMETERS
  106.  
  107.   The parameterfile contains all information for accessing the streamer and 
  108.   installing the driver.
  109.  
  110.   -DEVICE       = drv
  111.     The drive the XFS will be installed in
  112.  
  113.   -XFSNAME      = name
  114.     With newer Versions of MiNT (>= 1.08) the XFS can be installed in drive U:\ 
  115.     with a given name.
  116.     If MiNT >= 1.08 is active and this parameter is given, the drive will be 
  117.     installed with this name. The folder is only accessible in U:\ when an XFS ist 
  118.     loaded.
  119.  
  120.     ATTENTION: please read the information in RESTRICTIONS!
  121.  
  122.   -BUFFER       = num
  123.     Size in kByte of the buffer used for buffering of accesses to the tape.
  124.     The buffering of reading from u:\dev\mt (using the driver) can be switched 
  125.     off by the parameter BUFFERED, all other buffering can not be switched off.
  126.  
  127.   -BUFFERED     = ON
  128.     Buffering the reads from u:\dev\mt. Buffering is off on default, but can be 
  129.     switched on with TAPE.TTP at any time.
  130.  
  131.   -PREMSGTIME   = num
  132.   -POSTMSGTIME  = num
  133.     The parameters 'Wait before SCSI' and 'Wait after SCSI' as known from GEMAR.
  134.  
  135.   -DATATIMEOUT  = num
  136.   -LOADTIME     = num
  137.   -REWINDTIME   = num
  138.   -SPACETIME    = num
  139.     The parameters 'Data-Timeout', 'Load-Timeout', 'Rewind-Timeout' and 
  140.     'Space-Timeout' as known from GEMAR.
  141.  
  142.   -BLOCKSIZE    = num
  143.     Blocksize of the streamer.
  144.  
  145.   -UNIT         = DMA|ALIA|TT|FALCON
  146.     The port, the streamer is connected to.
  147.  
  148.   -TARGET       = num
  149.     Target of the streamer, if connected to the DMA-Port.
  150.  
  151.   -SCSIID       = num
  152.     The SCSI-Id of the Streamers if the streamer ist connected to TT|FALCON|ALIA 
  153.  
  154.   -QFA          = NONE|SEEK|LOCATE
  155.     Capabilities of Quick-File-Access of the streamer.
  156.  
  157.   -CMD          = LOAD|UNIT_READY|MODE_SELECT|PREVENT_REMOVAL
  158.     Commands to be used for the streamer.
  159.     Please use the same Commands as in GEMAR.
  160.     If you want to use more than one command the line can be used multiple e.g.
  161.  
  162.      CMD = LOAD
  163.      CMD = MODE_SELECT
  164.      CMD = PREVENT_REMOVAL
  165.  
  166.   -KEYFILE      = path\name
  167.     Path an name of GEMAR's Keyfile on you Harddisk.
  168.     This file is used to check the primary index for valid.
  169.  
  170.  
  171. RESTRICTIONS
  172.  
  173.   The unregistered version is locked after accessing 15 files in XFS-mode (Fopen 
  174.   15 times). The next access will be rejected by EACCDN.
  175.  
  176.   It is not possible to modify data on streamers or write files to the streamer 
  177.   due to the nature of streamers. 
  178.  
  179.   Streamers not reporting BLANK CHECK, VADD and the missing blocks on Request 
  180.   sense may lead to problems on buffered reading of u:\dev\mt.
  181.  
  182.   By the time only the first Backup on a tape can be accessed vir the XFS.
  183.  
  184.   Coded Backups (Passowrd) can't be used.
  185.  
  186.   Tapes written by GEMAR < 2.0 can't be read.
  187.  
  188.   GEMINI 1.21 can't start programs from tape. The reason is unknown.
  189.  
  190.   In MiNT 1.08 there are two errors with the use of XFS-drivers not loacted on 
  191.   harddrive. Due to these errors you have to use MiNT 1.04 or fix the errors in 
  192.   MiNT 1.08:
  193.  
  194. ****************************************************************************
  195.  
  196.   MiNT 1.08:
  197.   Correct FILESYS.C:
  198.   procedure disk_changed:
  199.  
  200.   *************************** FILESYS.C *******************************
  201.   TRACE(("calling mediach(%d)",d));
  202.     r = (int)mediach(d);
  203.   TRACE(("mediach(%d) == %d", d, r));
  204.   
  205.     if (r < 0) return r;
  206.   
  207.     if (r == 1) {   /* drive _may_ have changed */
  208.       r = rwabs(0, tmpbuf, 1, 0, d, 0L);  /* check the BIOS */
  209.       if (r != E_CHNG) {      /* nope, no change */
  210.         TRACE(("rwabs returned %d", r));
  211.         return (r < 0) ? r : 0;
  212.       }
  213.       r = 2;      /* drive was definitely changed */
  214.     }
  215.   *********************************************************************
  216.  
  217.   The problem is:
  218.   
  219.   -mediach calls the hard disk driver for via hdvmediach.
  220.    The driver does not know about this drive and says EUNDEV so disk_changed 
  221.    reports an error.
  222.   
  223.   So make this little change:
  224.   
  225.   ************************* FILESYS.C *********************************
  226.   TRACE(("calling mediach(%d)",d));
  227.     r = (int)mediach(d);
  228.   TRACE(("mediach(%d) == %d", d, r));
  229.   
  230.     /* r = EUNDEV:
  231.      * maybe the drive is not based on Harddisk, so the HDdriver says 
  232.      * EUNDEV.
  233.      * Ask the Filesystem for Mediachange.
  234.      * SE 16.08.93
  235.      */
  236.     if (r == EUNDEV)
  237.       {
  238.       TRACE(("request XFS for media change"));
  239.       fs = drives[d];   /* get filesystem associated with drive */
  240.       if (fs) 
  241.         if ((*fs->dskchng)(d)) { /* does the fs agree that it changed? */
  242.            drives[d] = 0;
  243.            changedrv(d); /* yes -- do the change */
  244.            return 1;
  245.            }
  246.            else return 0;
  247.       }
  248.     if (r < 0) return r;
  249.   *********************************************************************
  250.  
  251.  
  252. ***************************************************************************
  253.    FS_UNMOUNT can't work, because in uni_fscntl in UNIFS.C the Filecookie does 
  254.    not point to a UNIFILE-structure.
  255.   
  256.   UNIFS.C procedure uni_fscntl: 
  257.   ********************************************************************
  258.     } else if (cmd == FS_UNMOUNT) {  /* remove a file system's directory */
  259.       struct fs_descr *d = (struct fs_descr*)arg;
  260.       FILESYS *fs;
  261.       UNIFILE *u;
  262.   
  263.     /* first check that directory exists */
  264.       r = uni_lookup(dir, name, &fc);
  265.       if (r != 0)  return EFILNF;   /* name does not exist */
  266.       if (!d) return EFILNF;
  267.       if (!d->file_system) return EFILNF;
  268.       if (d->file_system != fc.fs)
  269.         return EFILNF;  /* not the right name! */
  270.  
  271.           /* fc->index does not point to a UNIFILE struct, as i can see
  272.            * in uni_lookup.
  273.            * So I'll get u via search of u_root.
  274.            * With this modification FS_UNMOUNT works fine with my XFS.
  275.            * SE 30.08.93
  276.            */
  277.       for (u = u_root; u && u->fs != d->file_system; u = u->next)
  278.       {
  279.       }
  280.  
  281.   /*   u = (UNIFILE*)fc.index; Korrigiert: SE 30.08.93 */
  282.   #endif
  283.   ***************************************************************************
  284.  
  285.  
  286.  
  287. Any mistakes, bad grammar and formulations by:
  288.  
  289. Steffen Engel, 05.03.94
  290.